[レポート] Learning new skills with Amazon Q Developer [REPEAT] に参加しました #DOP205-R #AWSreInvent
概要
Experience the power of Amazon Q Developer, your AI-powered assistant for software development. In this session, explore how Amazon Q Developer can streamline your daily workflow on AWS. Stuck in the console? Open the Amazon Q Developer panel for instant assistance. Can't find your way through the documentation? Amazon Q Developer guides you effortlessly. Need help crafting CLI commands? Amazon Q Developer has you covered. Want assistance right in Slack or Microsoft Teams? Amazon Q Developer is by your side, helping you work smarter, faster, and more efficiently across your favorite tools.
以下、翻訳です。
ソフトウェア開発用の AI 搭載アシスタントである Amazon Q Developer のパワーを体験してください。このセッションでは、Amazon Q Developer が AWS での日常のワークフローを効率化する方法を探ります。コンソールで行き詰まっていますか? Amazon Q Developer パネルを開いて、すぐにサポートを受けてください。ドキュメントで道順がわかりませんか? Amazon Q Developer が簡単にガイドします。CLI コマンドの作成にヘルプが必要ですか? Amazon Q Developer が対応します。Slack または Microsoft Teams で直接サポートが必要ですか? Amazon Q Developer があなたのそばにいて、お気に入りのツールでよりスマートに、より速く、より効率的に作業できるようにお手伝いします。
レポート
Amazon Q Developerについて
- ソフトウェア開発ライフサイクル(SDLC)全体にわたるエクスペリエンスを再考
- 開発者やITプロフェッショナルが安全でスケーラブルかつ可用性の高いアプリケーションを構築、管理できるように支援
- コードの記述、デバッグ、テスト、最適化、アップグレードを高速化
- 対話しながら、新しいAWSの機能を探し、馴染みのないテクノロジーを学び、ソリューションを検討
AWS Qは初めからセキュリティーとプライバシーを考慮して構築されており、組織が生成AIを安全に使用することを容易にしています。
Q Developerは、開発者と一緒に作業するコーディング アシスタントで、基本的には、どのようなコードを書くべきかを教えてくれます。
Amazon Q DeveloperはSDLC全体にわたって開発者をサポートします。
- Plan
- AWSマネジメントコンソールのAmazon Q Developer(ベストプラクティス、AWS WAF、Amazon EC2インスタンスの最適化)
- ビジネスに特化したアプリケーション
- 会話型コーディングでコードを説明する
- Create
- IDEおよびCLIでのインラインコーディングの補助
- Software development
- 会話型コーディング
- 内部のコードベースを使用してコードを生成する
- Test and secure
- ユニットテストの作成
- セキュリティのスキャンと改善
- Operate
- トラブルシューティング(Amazon S3,Amazon Lambda,Amazon EC2, Amazon ECS)
- VPCリーチャビリティアナライザ
- 会話型コーディングによるコードのデバッグと最適化
- AWSリソースとコストの最適化
- Maintain and modemize
- コード変換のためのAmazon Q Developerエージェントを使用して、アプリの更新と変換のプロセスを自動化
Amazon Qは、あなたが仕事をする場所で利用できます。
ハンズオン
ハンズオンでは以下シナリオが用意されていました。
Data Processing Pipeline
部分的に構築されたデータ処理パイプラインを完成させます。以前の開発者は会社を辞めたため、構築されたデータ処理パイプラインの部分に関連するメモとドキュメントは最小限しか残っていません。Q Developerを活用することで、プロジェクトを迅速に開始し、データ処理パイプライン開発の未完了項目を完了することができます。
Deploy Web Application
このモジュールでは、あるエンジニアリングチームが構築中の新しい Web アプリケーションをサポートするために必要なリソースを AWS 上にデプロイするのを支援します。このエンジニアリングチームは AWSを使用した経験があまりないため、あなたに助けを求めてきました。
- AWSコンソールでWebアプリケーションに必要なリソースを作成する。
- 作成したリソースをInfrastructure as Code (IaC)として形式化し、Webアプリケーションを環境間で簡単に再作成できるようにする。
- オプション - WEBキャッシュ用のEC2インスタンスタイプを推奨する。
これらのタスクをより効率的に完了するために、Q Developerを活用します。
Data Processing Pipeline
まず、このプロジェクトの一環として構築された Lambda関数を特定します。Amazon Q を使用して、アカウントにデプロイされている Lambda 関数を理解します。
Lambda関数を特定できたら、Amazon Qを使用して、関数のタイムアウトが現在何に設定されているか確認します。
また、タイムアウトを30秒に変更します。 Amazon QはCLIコマンドを生成して、引数やタイムアウト設定の最小値と最大値に関する追加情報も提供してくれます。
CloudShellで、Amazon Qが生成した CLIコマンドを実行してみます。
Timeoutが30秒に変更されました。
次にAmazon Qを使用して、トラブルシューティングを行います。
Lambda関数をテストして正しく動作するか確認します。Lambdaコンソールから対象のLambda関数をテストします。
エラーが発生しているので、Amazon Qを利用してエラーのトラブルシューティングをしてみます。Diagnose with Amazon Q をクリックします。
Amazon QのAnalysis
から、パーミッションが原因になっているとわかります。またResolution
で、解決手順を確認することができます。
手順に従い、IAM roleを修正します。修正がおわったらもう一度Lambda関数を「テスト」し問題が解決されていることを確認します。
次に、Amazon Qのコード生成機能を活用します。データ処理パイプラインの一部として残されている部分、S3に保存されているファイルの抽出と、そのファイルの変換およびAmazon Redshiftへのロードです。Amazon Qを使用して、新しい AWS Glueジョブの基礎となるスクリプトを生成します。
AWS Glueコンソールへ移動し、「Visual ETL」をクリックします。
「スクリプト エディター」をクリックし、EngineとしてSpark
を選択、OptionsはStart fresh
、Create script
をクリックします。
Amazon Qチャットインターフェイスが表示し、S3からファイルを読み取ってRedshiftに保存するための新しいスクリプトをGlueで作成するように依頼します。
Amazon Qを利用して、データ処理パイプラインの AWS Glueジョブを完了するために必要なコードを生成できました。
まとめ
シナリオ1のData Processing Pipeline
では、Amazon Qを活用し、Lambda関数の特定、タイムアウトの変更、トラブルシューティング、スクリプトの作成など行いました。
他にもAmazon Q DeveloperのGenerative SQLツール
を使用し、Redshiftデータ分析するモジュールや、シナリオ2のDeploy Web Application
ではAWS Console-to-Code
というAmazon Q Developerの機能を使用してコンソールアクションを再利用可能なコードに変換するモジュールがありましたが時間がなくできませんでした。こちらは別途試してみたいと思います。